导航菜单
首页 >  Register  > C语言丨一文带你了解关键字register(又名闪电飞刀 )

C语言丨一文带你了解关键字register(又名闪电飞刀 )

register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率。注意是尽可能,不是绝对。

因为,如果定义了很多register变量,可能会超过CPU的寄存器个数,超过容量。所以只是可能。

关于register关键字,在《C与指针》这一本书的都151页,作者这样说到:

“在许多机器上,register变量所产生的代码将比静态内存中的变量和堆栈中的变量所产生的代码执行速度更快。

但是这取决于你的环境,许多当前的编译器比程序员更加懂得怎样合理分配寄存器。”

 一、闪电飞刀----register

register就和它的名字一样,很少出现在代码世界中,因为敢称为闪电飞刀的变量,通常只会在一些特定场合才能出现。它是如此的快,以致于CPU都对其刮目相看,但是它有一个致命的缺点,它的速度“看心情”而定,不是每一次都能让人满意。

作用:如果一个变量被register来修辞,就意味着,该变量会作为一个寄存器变量,让该变量的访问速度达到最快。比如:一个程序逻辑中有一个很大的循环,循环中有几个变量要频繁进行操作,这些变量可以

相关推荐: